home *** CD-ROM | disk | FTP | other *** search
/ EDUCORP 8 / Educorp2Compilation.sit / educorp2 / Demos / PEGASYS II Demo / Macros / Stair2 < prev   
Encoding:
Text File  |  1988-08-04  |  3.5 KB  |  102 lines

  1. {------------------------ STAIR2 -----------------------
  2.  
  3. {This macro draws a double stair well letting the user specify the
  4. {width of the stairwell,number of treads, width of treads and the
  5. {distance between the stair sets. 
  6. PROMPT Prompt=`Enter Number Of Treads` Type=Num Var=#NTRD
  7. PROMPT Prompt=`Enter Width Of Tread` Type=Num Var=#TRD
  8. PROMPT Prompt=`Enter Width Of Stairwell` Type=Num Var=#WID
  9. PROMPT Prompt=`Size Of Wall/Gap Betwn Strs` Type=Num Var=#WL
  10. PROMPT Prompt=`Would You Like Stairs Vert Y-N` Type=Swit Var=#DIR
  11. #STEP = (#WID-(1'4")-#WL)/2
  12. #RL   = #TRD * #NTRD
  13. #HSTP = (#STEP/2)+(4")
  14. #STM  = #STEP + (8")
  15. PROMPT Prompt=`Enter Starting Point` Type=Coor Var=#P1
  16. If (#DIR == 1), Goto VERT:
  17. {First treads are drawn in.
  18. Li Cl=142 La=142 Pe=0 St=0 [#P1|0,2"|^|0,2"|0,#STEP|^|0,2"|0,2"|e|0,#WL]\
  19.      [0,2"|^|0,2"|0,#STEP|^|0,2"|0,2"|;]
  20. {Treads are copied into drawing.
  21. COPY R=#NTRD X=#TRD  [-|#P1|;]
  22. {Wall between stairs is drawn in.
  23. Li Cl=142 La=142 Pe=0 St=0 [A,#P1.x,#P1.y + #STM|#RL|0,#WL|-#RL|k|;] 
  24. {Center Handrails are drawn in.
  25. Li Cl=142 La=142 Pe=0 St=0 [-4",-2"|#RL+(8")|0,#WL+(4")|-#RL-(8")|k|^] \
  26.      [-2",-2"|#RL+1|0,#WL+(8")|-#RL-1|0,-#WL-(8")|;]
  27. {Outer handrails are drawn in.
  28. Li Cl=142 La=142 Pe=0 St=0 [A,#P1.x -.5,#P1.y|0,4"|#RL+1|0,-4"|^|-2"] \
  29.      [0,2"|-#RL-(8")|0,-2"|^|0,#WID|0,-2"|#RL+(8")|0,2"|^|2"|0,-4"] \
  30.      [-#RL-1|0,4"|;]
  31. {System remembers starting point for stair direction text.
  32. #X0=#P1.x - .5
  33. #Y0=#P1.y + #HSTP
  34. {System draws in direction line.
  35. Li Cl=142 La=142 Pe=0 St=0  [A,#X0,#Y0|#RL+3|0,#STM+#WL|-#RL-3|;]
  36. {System remembers starting point for stair direction text.
  37. #X1=%CD.x
  38. #Y1=%CD.y
  39. {System insert the break line & direction indicators for stairs.
  40. INS Sym=SARR4 Dis=#RL/2+.5 Y=#STM/5 XSc=1 [A,#X0,#Y0|;]
  41.  
  42. {Stair direction labels go in now.
  43. POINT [A,#X1,#Y1|;]
  44. PROMPT Prompt=`Type 'UP' or 'DN'` Type=Str Var=#D1
  45. DELETE [-|;]
  46. Tx RC .1 Cl=142 La=142 Pe=0 Angle=0 Place=Pts Type=Sing \
  47.      [A,#X1,#Y1|;]
  48. #D1
  49.  
  50. POINT [A,#X0,#Y0|;]
  51. PROMPT Prompt=`Type 'UP' or 'DN'` Type=Str Var=#D1
  52. DELETE [-|;]
  53. Tx RC .1 Cl=142 La=142 Pe=0 Angle=0 Place=Pts Type=Sing \
  54.      [A,#X0,#Y0|;]
  55. #D1
  56.  
  57. GOTO END:
  58. VERT:
  59. {First treads are drawn in.
  60. Li Cl=142 La=142 Pe=0 St=0 [#P1|2"|^|2"|#STEP|^|2"|2"|e|#WL]\
  61.      [2"|^|2"|#STEP|^|2"|2"|;]
  62. {Treads are copied into drawing.
  63. COPY R=#NTRD Y=#TRD  [-|#P1|;]
  64. {Wall between stairs is drawn in.
  65. Li Cl=142 La=142 Pe=0 St=0 [A,#P1.x + #STM,#P1.y|0,#RL|#WL|0,-#RL|k|;] 
  66. {Center Handrails are drawn in.
  67. Li Cl=142 La=142 Pe=0 St=0 [-2",-4"|0,#RL+(8")|#WL+(4")|0,-#RL-(8")|k|^] \
  68.      [-2",-2"|0,#RL+1|#WL+(8")|0,-#RL-1|-#WL-(8")|;]
  69. {Outer handrails are drawn in.
  70. Li Cl=142 La=142 Pe=0 St=0 [A,#P1.x,#P1.y -.5|4"|0,#RL+1|-4"|^|0,-2"] \
  71.      [2"|0,-#RL-(8")|-2"|^|#WID|-2"|0,#RL+(8")|2"|^|0,2"|-4"] \
  72.      [0,-#RL-1|4"|;]
  73. {System remembers starting point for stair direction text.
  74. #X0=#P1.x + #HSTP
  75. #Y0=#P1.y -.5
  76. {System draws in direction line.
  77. Li Cl=142 La=142 Pe=0 St=0  [A,#X0,#Y0|0,#RL+3|#STM+#WL|0,-#RL-3|;]
  78. {System remembers starting point for stair direction text.
  79. #X1=%CD.x
  80. #Y1=%CD.y
  81. {System insert the break line & direction indicators for stairs.
  82. INS Sym=SARR4 Dis=#RL/2+.5 Y=#STM/5 XSc=1 [A,#X0,#Y0|;]
  83.  
  84. {Stair direction labels go in now.
  85. POINT [A,#X1,#Y1|;]
  86. PROMPT Prompt=`Type 'UP' or 'DN'` Type=Str Var=#D1
  87. DELETE [-|;]
  88. Tx CB .1 Cl=142 La=142 Pe=0 Angle=0 Place=Pts Type=Sing \
  89.      [A,#X1,#Y1|;]
  90. #D1
  91.  
  92. POINT [A,#X0,#Y0|;]
  93. PROMPT Prompt=`Type 'UP' or 'DN'` Type=Str Var=#D1
  94. DELETE [-|;]
  95. Tx CB .1 Cl=142 La=142 Pe=0 Angle=0 Place=Pts Type=Sing \
  96.      [A,#X0,#Y0|;]
  97. #D1
  98.  
  99. END:
  100.  
  101. RETURN
  102.